home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)ta.d64 / memory decoder.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  3KB  |  106 lines

  1. 5 REM NAME="MEMORY DECODER"
  2. 10 REM WRITTEN BY GLEN BODIE
  3. 15 POKE53280,0:POKE53281,3
  4. 20 HE$="0123456789ABCDEF"
  5. 30 PRINT "[147]" TAB(10) "MEMORY DECODER"
  6. 40 INPUT "STARTING ADDRESS[144]";SA$
  7. 50 INPUT "ENDING ADDRESS[144]";EA$
  8. 60 SA=VAL(SA$) : EA=VAL(EA$)
  9. 70 IF SA>EA THEN GOTO 40
  10. 72 DIM OP$(256)
  11. 75 FOR I=1TO256: READ OP$(I): NEXT: K=0
  12. 80 FOR I = SA TO EA STEP 20
  13. 90 PRINT "[147]ADDRESS REL DEC HEX CHR  MACH LANG[144]"
  14. 100 FOR J = I TO I+19
  15. 110 PRINT J;
  16. 120 DE=J-SA : SZ=3 : GOSUB 900
  17. 130 PRINT TAB(8) HX$;
  18. 140 DE=PEEK(J) : PRINT TAB(11) DE;
  19. 150 SZ=2 : GOSUB 900 : DE=PEEK(J)
  20. 160 IF DE<32 OR DE>127 THEN DE=32
  21. 170 PRINT TAB(17) HX$ TAB(21) CHR$(DE)
  22. 180 IF K>0 THEN GOTO 290
  23. 190 A$ = OP$(PEEK(J)+1)
  24. 200 PRINT "[145]" TAB(25) LEFT$(A$,3)
  25. 210 IF LEN(A$)=3 THEN GOTO 300
  26. 220 X=VAL(RIGHT$(A$,1))+1
  27. 230 ON X GOSUB 400,450,500,550,600,650,700,750,800,850
  28. 240 PRINT "[145]" TAB(29) HX$
  29. 290 K=K-1
  30. 300 NEXT J
  31. 360 INPUT "RETURN TO CONTINUE OR 'X' TO EXIT";A$
  32. 370 IF A$ ="X" THEN END
  33. 380 NEXT I
  34. 390 END
  35. 400 REM INDIRECT ADDRESSING
  36. 410 DE=PEEK(J+2)*256+PEEK(J+1) : SZ=4
  37. 420 GOSUB 900 : HX$="($"+HX$+")"
  38. 430 K=3 : RETURN
  39. 450 REM Y INDEXED ZERO PAGE ADDRESSING
  40. 460 DE=PEEK(J+1) : SZ=2 : GOSUB 900
  41. 470 HX$="$"+HX$+",Y" : K=2 : RETURN
  42. 500 REM IMMEDIATE ADDRESSING
  43. 510 DE=PEEK(J+1) : SZ=2 : GOSUB 900
  44. 520 HX$="#$"+HX$ : K=2 : RETURN
  45. 550 REM ZERO PAGE ADDRESSING
  46. 560 DE=PEEK(J+1) : SZ=2 : GOSUB 900
  47. 570 HX$="$"+HX$ : K=2 : RETURN
  48. 600 REM X INDEXED ZERO PAGE ADDRESSING
  49. 610 DE=PEEK(J+1) : SZ=2 : GOSUB 900
  50. 620 HX$="$"+HX$+",X" : K=2 : RETURN
  51. 650 REM ABSOLUTE ADDRESSING
  52. 660 DE=PEEK(J+2)*256+PEEK(J+1) : SZ=4
  53. 670 GOSUB 900 : HX$="$"+HX$
  54. 680 K=3 : RETURN
  55. 700 REM X INDEXED ABSOLUTE ADDRESSING
  56. 710 DE=PEEK(J+2)*256+PEEK(J+1) : SZ=4
  57. 720 GOSUB 900 : HX$="$"+HX$+",X"
  58. 730 K=3 : RETURN
  59. 750 REM Y INDEXED ABSOLUTE ADDRESSING
  60. 760 DE=PEEK(J+2)*256+PEEK(J+1) : SZ=4
  61. 770 GOSUB 900 : HX$="$"+HX$+",Y"
  62. 780 K=3 : RETURN
  63. 800 REM INDIRECT X INDEXED ADDRESSING
  64. 810 DE=PEEK(J+1) : SZ=2 : GOSUB 900
  65. 820 HX$="($"+HX$+",X)" : K=2 : RETURN
  66. 850 REM INDIRECT Y INDEXED ADDRESSING
  67. 860 DE=PEEK(J+1) : SZ=2 : GOSUB 900
  68. 870 HX$="($"+HX$+"),Y" : K=2 : RETURN
  69. 900 REM CONVERT DECIMAL TO HEX CHARS
  70. 910 HX$="" : FOR S=SZ-1 TO 0 STEP -1
  71. 920 N%=DE/(16^S) : DE=DE-N%*16^S
  72. 930 HX$=HX$+MID$(HE$,N%+1,1)
  73. 940 NEXT : RETURN
  74. 1000 DATA BRK,ORA8,???,???,???,ORA3,ASL3,???
  75. 1008 DATA PHP,ORA2,ASL,???,???,ORA5,ASL5,???
  76. 1016 DATA BPL3,ORA9,???,???,???,ORA4,ASL4,???
  77. 1024 DATA CLC,ORA7,???,???,???,ORA6,ASL6,???
  78. 1032 DATA JSR5,AND8,???,???,BIT3,AND3,ROL3,???
  79. 1040 DATA PLP,AND2,ROL,???,BIT5,AND5,ROL5,???
  80. 1048 DATA BMI3,AND9,???,???,???,AND4,ROL4,???
  81. 1056 DATA SEC,AND7,???,???,???,AND6,ROL6,???
  82. 1064 DATA RTI,EOR8,???,???,???,EOR3,LSR3,???
  83. 1072 DATA PHA,EOR2,LSR,???,JMP5,EOR5,LSR5,???
  84. 1080 DATA BVC3,EOR9,???,???,???,EOR4,LSR4,???
  85. 1088 DATA CLI,EOR7,???,???,???,EOR6,LSR6,???
  86. 1096 DATA RTS,ADC8,???,???,???,ADC3,ROR3,???
  87. 1104 DATA PLA,ADC2,ROR,???,JMP0,ADC5,ROR5,???
  88. 1112 DATA BVS3,ADC9,???,???,???,ADC4,ROR4,???
  89. 1120 DATA SEI,ADC7,???,???,???,ADC6,ROR6,???
  90. 1128 DATA ???,STA8,???,???,STY3,STA3,STX3,???
  91. 1136 DATA DEY,???,TXA,???,STY5,STA5,STX5,???
  92. 1144 DATA BCC3,STA9,???,???,STY4,STA4,STX1,???
  93. 1152 DATA TYA,STA7,TXS,???,???,STA6,???,???
  94. 1160 DATA LDY2,LDA8,LDX2,???,LDY3,LDA3,LDX3,???
  95. 1168 DATA TAY,LDA2,TAX,???,LDY5,LDA5,LDX5,???
  96. 1176 DATA BCS3,LDA9,???,???,LDY4,LDA4,LDX1,???
  97. 1184 DATA CLV,LDA7,TSX,???,LDY6,LDA6,LDX7,???
  98. 1192 DATA CPY2,CMP8,???,???,CPY3,CMP3,DEC3,???
  99. 1200 DATA INY,CMP2,DEX,???,CPY5,CMP5,DEC5,???
  100. 1208 DATA BNE3,CMP9,???,???,???,CMP4,DEC4,???
  101. 1216 DATA CLD,CMP7,???,???,???,CMP6,DEC6,???
  102. 1224 DATA CPX2,SBC8,???,???,CPX3,SBC3,INC3,???
  103. 1232 DATA INX,SBC2,NOP,???,CPX5,SBC5,INC5,???
  104. 1240 DATA BEQ3,SBC9,???,???,???,SBC4,INC4,???
  105. 1248 DATA SED,SBC7,???,???,???,SBC6,INC6,???
  106.